C语言中 scanf("%d",&a[j][k]); 要输入一串数字 该怎么输入?

来源:百度知道 编辑:UC知道 时间:2024/05/11 02:08:56
C语言中 scanf("%d",&a[j][k]); 要输入一串数字 该怎么输入?
比如要输入3*3矩阵 1 0 1
0 1 0
1 0 1 是否输入完1 0 1 再回车输入 0 1 0 ?

假如是下面的数组,应该是
int a[2][3];
for(i=0;i<2;i++)
for(j=0;j<3;j++)
scanf("%d",&a[j][k]);
当然,这样你看不到要求输入的提示,scanf("%d",&a[j][k]); 前边还应该加一条语句,变成这样:
int a[2][3];
for(i=0;i<2;i++)
for(j=0;j<3;j++)
{
printf("enter a number:");
scanf("%d",&a[j][k]);
}

不是,每次只能输入一个数,因为a[i][j]只是代表的一个数组中的一个元素,也就是一个数。

(1) 对于字符串数组或字符串指针变量,由于数组名和指针变量名本身就是地址,因此使用scanf()函数时,不需要在它们前面加上"&"操作符。
例如:
#include <stdio.h>
void main()
{
char *p, str[20];

p = new char[20];

scanf("%s", p); /*从健盘输入字符串*/
scanf("%s", str);
printf("%s\n", p); /*向屏幕输出字符串*/
printf("%s\n", str);
}
(2) 可以在格式化字符串中的"%"各格式化规定符之间加入一个整数,表示任何读操作中的最大位数。
如上例中若规定只能输入10字符